/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package src;

import java.util.HashMap;
import java.util.Map;

/**
 *
 * @author David
 */
public class JpdfForm {

    // HashMap para guardar el valor de los datos del XML
    private Map<String, String> mapa = new HashMap<String, String>();
    private String inPdf;
    private String outPdf;
    private int row;
    private int rows;

    
    /** GETTERS */
    
    /**
     * @return the inPdf
     */
    public String getInPdf() {
        return this.inPdf;
    }

   /**
     * @return the outPdf
     */
    public String getOutPdf() {
        return this.outPdf;
    }

   /**
     * @return the row
     */
    public int getRow() {
        return this.row;
    }   

    /**
     * @return the rows
     */
    public int getRows() {
        return this.rows;
    }
    /**
     * @param campo --> clave en el hashMap
     * @return the value of hashMap for this key
     */
    public String getValue(String key) {
        return mapa.get(key);
    }

    /**
     * @param key clave del hash
     * @param value
     * @return String
     */
    public String getFieldValue(String key, String value) {
        return "field." + mapa.get(key) + "." + value;
    }
    
    /** SETTERS */
    
     /**
     * @param outPdf the outPdf to set
     */
    public void setOutPdf(String outPdf) {
        this.outPdf = outPdf;
    }
    
    /**
     * @param rows the rows to set
     */
    public void setRows(int rows) {
        this.rows = rows;
    }

    /**
     * @param fieldValue the fieldValue to set
     */
    public void setFieldValue(String key, String property, String value) {
        //Genero la clave para el hashMap
        String header = "field." + key + "." + property;
        //Guardo los valores
        mapa.put(header, value);
    }

    /**
     * @param key clave del hash
     * @param propiedad nombre del campo
     * @param row fila del formulario
     * @return String
     */
    public String getFieldRowValue(String key, String property, int row) {
        return "field." + mapa.get(key) + ".row." + row + "." + property;
    }

    /**
     * @param key clave del hash
     * @param propiedad nombre del campo
     * @return String
     */
    public String getFieldRowValue(String key, String property) {
        return "field." + mapa.get(key) + ".row." + getRow() + "." + property;
    }

    /**
     * @param key clave del hash
     * @return the fieldRowValue
     */
    public String getFieldRowValue(String key) {
        return "field." + mapa.get(key) + ".row." + getRow() + ".rvalue";
    }

    /**
     * @return the mapa
     */
    public Map<String, String> getMapa() {
        return this.mapa;
    }
    
   /**
     * @param campo Clave para el hashMap
     * @param value valor a insertar 
     */
    public void setValue(String key, String value) {
        mapa.put(key, value);
    }    
    
   /**
     * @param inPdf the inPdf to set
     */
    public void setInPdf(String inPdf) {
        this.inPdf = inPdf;
    }
    
    /**
     * @param row the row to set
     */
    public void setRow(int row) {
        this.row = row;
    }
    
   /**
     * @param key clave del hash
     * @param value Contenido
     */
    public void setFieldRowValue(String key, String value) {
        String header = "field." + key + ".row." + getRow() + ".rvalue";
        mapa.put(header, value);
    }

    /**
     * @param key clave del hash
     * @param property 
     * @param value Contenido
     */
    public void setFieldRowValue(String key, String property, String value) {
        String header = "field." + key + ".row." + getRow() + property;
        mapa.put(header, value);
    }

    /**
     * @param key clave del hash
     * @param value Contenido
     */
    public void setFieldRowValue(String key, String property, int row, String value) {
        String header = "field." + key + ".row." + row + property;
        mapa.put(header, value);
    }

    /**
     * @param mapa the mapa to set
     */
    public void setMapa(Map<String, String> mapa) {
        this.mapa = mapa;
    }
}